--
-- Secuencia, tabla y trigger para el subsistema de objetivos 
--

CREATE SEQUENCE subsistemas.seq_objetivos
    INCREMENT 1
    START 1
    MINVALUE 1
    MAXVALUE 9223372036854775807
    CACHE 1;

ALTER SEQUENCE subsistemas.seq_objetivos
    OWNER TO abacouser;

CREATE TABLE IF NOT EXISTS subsistemas.objetivos
(
    id integer NOT NULL DEFAULT nextval('subsistemas.seq_objetivos'::regclass),
    idpad integer,
    idart integer,
    tipopada character varying(4) COLLATE pg_catalog."default",
    codpadr character varying COLLATE pg_catalog."default",
    tipoarta character varying(4) COLLATE pg_catalog."default",
    codartr character varying COLLATE pg_catalog."default",
    idciudad integer,
    idvenzon integer,
    mes integer,
    anio integer,
    codambsuc character varying COLLATE pg_catalog."default",
    unidades numeric(12,4),
    importe numeric(12,4),
    codcomvis character varying COLLATE pg_catalog."default",
    fechainsert timestamp without time zone,
    fechaupdate timestamp without time zone,
    idambdb integer,
    CONSTRAINT objetivos_pkey PRIMARY KEY (id)
)
WITH (
    OIDS = TRUE
)
TABLESPACE pg_default;

ALTER TABLE subsistemas.objetivos
    OWNER to abacouser;
COMMENT ON TABLE subsistemas.objetivos
    IS 'Objetivos de venta por vendedor-fecha-rubro-articulo';

COMMENT ON COLUMN subsistemas.objetivos.id
    IS 'id para tener id, siempre por default ';

COMMENT ON COLUMN subsistemas.objetivos.idpad
    IS 'id de padron determinado';

COMMENT ON COLUMN subsistemas.objetivos.idart
    IS 'id de articulo determinado';

COMMENT ON COLUMN subsistemas.objetivos.tipopada
    IS 'Arbol de padrón';

COMMENT ON COLUMN subsistemas.objetivos.codpadr
    IS 'Rubro de padrón';

COMMENT ON COLUMN subsistemas.objetivos.tipoarta
    IS 'Arbol de articulos del rubro';

COMMENT ON COLUMN subsistemas.objetivos.codartr
    IS 'Rubro de articulos';

COMMENT ON COLUMN subsistemas.objetivos.idciudad
    IS 'Ciudad)';

COMMENT ON COLUMN subsistemas.objetivos.idvenzon
    IS 'Vendedor';

COMMENT ON COLUMN subsistemas.objetivos.mes
    IS 'mes';

COMMENT ON COLUMN subsistemas.objetivos.anio
    IS 'anio';

COMMENT ON COLUMN subsistemas.objetivos.codambsuc
    IS 'Sucursal';

COMMENT ON COLUMN subsistemas.objetivos.unidades
    IS 'Cantidad de unidades';

COMMENT ON COLUMN subsistemas.objetivos.importe
    IS 'Importe objetivo';

COMMENT ON COLUMN subsistemas.objetivos.codcomvis
    IS 'Vista de comprobantes para evaluar el objetivo (no implementado)';

-- Trigger: control_audit_subsistemas_objetivos

-- DROP TRIGGER control_audit_subsistemas_objetivos ON subsistemas.objetivos;

CREATE TRIGGER control_audit_subsistemas_objetivos
    BEFORE INSERT OR DELETE OR UPDATE 
    ON subsistemas.objetivos
    FOR EACH ROW
    EXECUTE PROCEDURE public.tg_control_audit_instancia();

--
SELECT aaVersion('525.00','524.01');
--

